#ifndef _C_GL_BUFFER_H_
#define _C_GL_BUFFER_H_

#include "../interface/I_api_Buffer.h"

class C_gl_Buffer : public I_api_Buffer
{
	friend class C_gl_Device;

protected:
	u32 m_id;

	C_gl_Buffer(const S_api_BufferDesc *pDesc, 
							const S_api_Subresource_Data *pInitialData,
							const I_api_Device * pDevice);

public:
	virtual					~C_gl_Buffer();

	virtual void		GetDesc(S_api_BufferDesc * pDesc);
	virtual bool		Map(E_api_Map MapType, int32 MapFlags, void **ppData);
	virtual void		Unmap(void);

	virtual void *	Get();
};

#endif